PreviousNextTracker indexSee it online !

(234/314) 3614502 - Console: test area behaves differently from error parsing

I use a perl script to format the error output of my compiler in a way that can be easily parsed by the error list. This worked fine up to version 1.9 of the error list (which I still use today).
With the more recent versions (since the german localization, 2.0 ?) I get a very strange behaviour: I check the error output in the plugin options and get a display of all included errors and warnings. But in real life, the error list shows just nothing. I have tried to modify my perl script in several ways (output to std out, output to error out, output to both) without any change.

Submitted jomabrueloe - 2013-06-14 - 13:01:48z Assigned synh
Priority 5 Category None
Status Open Group None
Resolution None Visibility No

Comments

2013-06-14 - 14:57:49z
ezust
This sounds like it is related to Console plugin?
Let me confirm. Are you saying that from Console plugin options - error patterns, you can "test" the Perl regexp and it shows you the errors, as expected, but if you paste those same errors in a text file, and "cat" (or "type" from windows) it from the Console System shell, you do not see the same errors in ErrorList? Because I just tried those exact steps and it works for me.

Please give me more details on how to reproduce your issue.



Do you have the ErrorList Dockable already visible when you do this?
2013-06-17 - 05:54:49z
jomabrueloe
Hi, thanks for your response.

Yes, thats the way I do it, only I don't use a temporary file but direct piping via perl. I'm gonna try that way also and give you the result.
Regarding your 2nd question: I use the error list docked an the bottom of jedit.
2013-06-17 - 07:45:05z
jomabrueloe
Hi,

I just tried it: with the new version (and the latest console plugin), using the type command in the console results in a plain display with empty error list. Using the same with my old (working) configuration, the errros and warnings are shown as well in the console (colored text) as in the error list.
I though it would be helpful for you to see, which other plugins are used. Therefore I attach two jpegs, one with the working and one with the not working configuration.

Jo
2013-06-17 - 16:19:42z
ezust
Ok, this is the windows platform, and german localization.

If you switch back to English locale, does the problem goes away?

If so, please let us know. If not, I would suggest trying to see how else the settings differ between the working vs non-working configurations.
Many error matchers in Console do you have enabled? Which ones are they? Is generic one of them? Can you make the "generic" error trigger, or is your problem specific to perl errors?
I have a file called asdf.txt that looks like this:
/etc/apt/sources.list:5: error! This is an arbitrary message.

and whenever I cat it, I see errors in my errorlist. Do you?

I will also go to windows and see if I can reproduce your issue by switching to german.


2013-06-17 - 16:31:57z
ezust
I tried typing the Error-Output.txt and it is not detected as a Perl error by the Perl error regexp, which for me is this:
(.+) at ([^<>]+) line (\d+)(\.?|, (.+))
Is that the same regexp you have?
If so, I can reproduce your error but it seems to me there is something wrong with the regexp. Is this really the output of the perl command?

2013-06-17 - 16:37:16z
ezust
I attached alan-perl-errors.txt which works for my perl error regexp. See if typing that from Console gives you perl errors.
2013-06-18 - 05:28:41z
jomabrueloe
Hi,
thanks for your efforts! I have to apologize, that I wasn't that clear: I use a Tasking C-Compiler for a microcontroller. But because the error output of this one is very hard to handle (2 lines per error ...) I use the perl script to transform it to an conveniant pattern. Than - I have to apologize again for not transmitting this already - I use an own error pattern to parse the errors and warnings. I attach the error pattern as a screen shot.

Thanks again

Jo
2013-06-18 - 06:02:06z
ezust
I have no idea/didn't check why your pattern worked before and doesn't now. Are you sure the regexps are the same?
I can reproduce your current issue. It is really strange.
I don't know why when testing the pattern, it shows things working but when I cat it, it is not detected.
*HOWEVER*, there is a workaround:
by simply adding a $ at the end of each of those regexps. The problem goes away.



2013-06-18 - 06:12:53z
ezust
Sorry, it was not just a addition of the $ at the end. I changed your patterns to this:
^(E.+) :: (.+) :: (\d+)$
^(W.+) :: (.+) :: (\d+)$
2013-06-18 - 06:27:05z
ezust
And for some reason, I only see errors and no warnings. There might be 2 bugs here, one related to how errors are parsed and another related to warnings.
2013-06-18 - 13:00:39z
jomabrueloe
New info:
- using the english localisation doesn't change the behavior
- the error is dedicated to the parser line; using "W" in the "error" parsing line results in display of warnings but errors
- the "extra line" parsing line does not work either
2013-06-18 - 16:03:13z
ezust
So to summarize, the original test case is this:

The error/warning patterns were these:
^(E.+) :: (.+) :: (.+)$
^(W.+) :: (.+) :: (.+)$

For a "test area", I pasted some lines from 85-103 of Error-Output.txt which is attached.

When I "test/commit" the regexes against the pasted text, it works fine.

But if I "cat" the Error-Output.txt file from Console, none of these errors are picked up.

Personally, I have not worked on this code recently, so I hope one of the other engineers (Dale or Artem) will take a look at this. Also, I am pretty sure this has nothing to do with the ErrorList plugin.

2013-06-18 - 22:48:07z
ezust
What version of Console is the latest version that works for you?
2013-06-18 - 23:50:03z
ezust
Nevermind, I see it is Console 4.4.4 (from your working configuration) from your screenshot.
2013-06-19 - 09:25:09z
synh
Probably it is related to handling of line's breaks '\n', '\r\n'.
I'll research this during the weekend.

Attachments

2013-06-17 - 07:51:07z
jomabrueloe
jedit_plugins_not_working.jpg

2013-06-17 - 07:52:37z
jomabrueloe
jedit_plugins.jpg

2013-06-17 - 09:31:31z
jomabrueloe
Error-Output.txt

2013-06-17 - 16:36:48z
ezust
alan-perl-errors.txt

some perl error strings to test your regexp

2013-06-18 - 05:29:23z
jomabrueloe
error-pattern.jpg